[INFO] cloning repository https://github.com/Schwad/schwadler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Schwad/schwadler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSchwad%2Fschwadler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSchwad%2Fschwadler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bc52066edd52d44a97057e5249ad2c201c8aa334
[INFO] checking Schwad/schwadler against try#8a2f6fe57adadb246778b8d41925d3dc46d468cb for pr-158320
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSchwad%2Fschwadler" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Schwad/schwadler
[INFO] finished tweaking git repo https://github.com/Schwad/schwadler
[INFO] tweaked toml for git repo https://github.com/Schwad/schwadler written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Schwad/schwadler on toolchain 8a2f6fe57adadb246778b8d41925d3dc46d468cb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8a2f6fe57adadb246778b8d41925d3dc46d468cb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Schwad/schwadler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8a2f6fe57adadb246778b8d41925d3dc46d468cb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 63b9a40a843e673f2100c4cbef71c09022dd630882f73a48a5bbdb195ec60394
[INFO] running `Command { std: "docker" "start" "63b9a40a843e673f2100c4cbef71c09022dd630882f73a48a5bbdb195ec60394", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "63b9a40a843e673f2100c4cbef71c09022dd630882f73a48a5bbdb195ec60394" "/opt/rustwide/cargo-home/bin/cargo" "+8a2f6fe57adadb246778b8d41925d3dc46d468cb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "63b9a40a843e673f2100c4cbef71c09022dd630882f73a48a5bbdb195ec60394", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "63b9a40a843e673f2100c4cbef71c09022dd630882f73a48a5bbdb195ec60394" "/opt/rustwide/cargo-home/bin/cargo" "+8a2f6fe57adadb246778b8d41925d3dc46d468cb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking compression-core v0.4.31
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking compression-codecs v0.4.37
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking semver v1.0.27
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking tar v0.4.44
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking tempfile v3.25.0
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling ptr_meta_derive v0.3.1
[INFO] [stderr]    Compiling bytecheck_derive v0.8.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling munge_macro v0.4.7
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling rkyv_derive v0.8.15
[INFO] [stderr]     Checking ptr_meta v0.3.1
[INFO] [stderr]     Checking rancor v0.1.1
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking bytecheck v0.8.2
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking munge v0.4.7
[INFO] [stderr]     Checking rend v0.5.3
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking pubgrub v0.2.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking rkyv v0.8.15
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking async-compression v0.4.40
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking halfbrown v0.2.5
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking value-trait v0.10.1
[INFO] [stderr]     Checking simd-json v0.14.3
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking schwadler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/cache.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/full_index.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive`, `Deserialize`, and `Serialize`
[INFO] [stdout]   --> src/full_index.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rkyv::{Archive, Deserialize, Serialize};
[INFO] [stdout]    |            ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]   --> src/gemfile.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/git.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResolvedGitGem`
[INFO] [stdout]  --> src/lockfile.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::resolver::{Resolution, ResolvedGem, ResolvedGitGem};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/lockfile.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RANGE`
[INFO] [stdout]   --> src/rubygems.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     IF_NONE_MATCH, LAST_MODIFIED, RANGE, USER_AGENT,
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FetchResult`
[INFO] [stdout]   --> src/rubygems.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::cache::{CacheEntry, FetchResult, PersistentCache};
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/cache.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/full_index.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive`, `Deserialize`, and `Serialize`
[INFO] [stdout]   --> src/full_index.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rkyv::{Archive, Deserialize, Serialize};
[INFO] [stdout]    |            ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]   --> src/gemfile.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/git.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> src/installer.rs:1067:9
[INFO] [stdout]      |
[INFO] [stdout] 1067 |     use super::*;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResolvedGitGem`
[INFO] [stdout]  --> src/lockfile.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::resolver::{Resolution, ResolvedGem, ResolvedGitGem};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/lockfile.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RANGE`
[INFO] [stdout]   --> src/rubygems.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     IF_NONE_MATCH, LAST_MODIFIED, RANGE, USER_AGENT,
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FetchResult`
[INFO] [stdout]   --> src/rubygems.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::cache::{CacheEntry, FetchResult, PersistentCache};
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/full_index.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 Ok(response) => {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stderr`
[INFO] [stdout]    --> src/git.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let stderr = String::from_utf8_lossy(&output.stderr);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev_dep_re`
[INFO] [stdout]    --> src/git.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let dev_dep_re = Regex::new(r#"add_development_dependency\s*\(?['"]([^'"]+)['"]"#)?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dev_dep_re`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/full_index.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 Ok(response) => {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache_key`
[INFO] [stdout]    --> src/rubygems.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let cache_key = format!("{}:{}", gem_name, version);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache`
[INFO] [stdout]   --> src/index.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let cache = PersistentCache::new().context("Failed to open cache")?;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stderr`
[INFO] [stdout]    --> src/git.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let stderr = String::from_utf8_lossy(&output.stderr);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gem_name`
[INFO] [stdout]    --> src/index.rs:296:24
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn parse_compact_index(gem_name: &str, text: &str) -> Result<Vec<IndexedVersion>> {
[INFO] [stdout]     |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gem_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev_dep_re`
[INFO] [stdout]    --> src/git.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let dev_dep_re = Regex::new(r#"add_development_dependency\s*\(?['"]([^'"]+)['"]"#)?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dev_dep_re`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]    --> src/installer.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let (_, platform) = parse_version_platform(&gem.version);
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache_key`
[INFO] [stdout]    --> src/rubygems.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let cache_key = format!("{}:{}", gem_name, version);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/resolver.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         let mut git_gems: Vec<ResolvedGitGem> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache`
[INFO] [stdout]   --> src/index.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let cache = PersistentCache::new().context("Failed to open cache")?;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gem_name`
[INFO] [stdout]    --> src/index.rs:296:24
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn parse_compact_index(gem_name: &str, text: &str) -> Result<Vec<IndexedVersion>> {
[INFO] [stdout]     |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gem_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]    --> src/installer.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let (_, platform) = parse_version_platform(&gem.version);
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_highly_conflicting_gems` is never used
[INFO] [stdout]    --> src/resolver.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl ConflictTracker {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn get_highly_conflicting_gems(&self) -> HashSet<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `version_cache`, `spec_cache`, and `resolving` are never read
[INFO] [stdout]    --> src/resolver.rs:803:5
[INFO] [stdout]     |
[INFO] [stdout] 800 | struct Resolver {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 803 |     version_cache: Arc<DashMap<String, Vec<String>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 804 |     // Cache of (gem, version) -> spec
[INFO] [stdout] 805 |     spec_cache: Arc<DashMap<(String, String), GemSpec>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 806 |     // Set of gems we're currently resolving (for cycle detection)
[INFO] [stdout] 807 |     resolving: Arc<DashMap<String, ()>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_best_version`, `fetch_versions`, and `fetch_spec` are never used
[INFO] [stdout]     --> src/resolver.rs:1360:14
[INFO] [stdout]      |
[INFO] [stdout]  817 | impl Resolver {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1360 |     async fn find_best_version(&self, gem_name: &str, constraints: &[String]) -> Result<String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1395 |     async fn fetch_versions(&self, gem_name: &str) -> Result<Vec<String>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1415 |     async fn fetch_spec(&self, gem_name: &str, version: &str) -> Result<GemSpec> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `development` is never read
[INFO] [stdout]    --> src/rubygems.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         struct GemVersionDeps {
[INFO] [stdout]     |                -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 246 |             development: Vec<DepInfo>,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/resolver.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         let mut git_gems: Vec<ResolvedGitGem> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_highly_conflicting_gems` is never used
[INFO] [stdout]    --> src/resolver.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl ConflictTracker {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn get_highly_conflicting_gems(&self) -> HashSet<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `version_cache`, `spec_cache`, and `resolving` are never read
[INFO] [stdout]    --> src/resolver.rs:803:5
[INFO] [stdout]     |
[INFO] [stdout] 800 | struct Resolver {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 803 |     version_cache: Arc<DashMap<String, Vec<String>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 804 |     // Cache of (gem, version) -> spec
[INFO] [stdout] 805 |     spec_cache: Arc<DashMap<(String, String), GemSpec>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 806 |     // Set of gems we're currently resolving (for cycle detection)
[INFO] [stdout] 807 |     resolving: Arc<DashMap<String, ()>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_best_version`, `fetch_versions`, and `fetch_spec` are never used
[INFO] [stdout]     --> src/resolver.rs:1360:14
[INFO] [stdout]      |
[INFO] [stdout]  817 | impl Resolver {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1360 |     async fn find_best_version(&self, gem_name: &str, constraints: &[String]) -> Result<String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1395 |     async fn fetch_versions(&self, gem_name: &str) -> Result<Vec<String>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1415 |     async fn fetch_spec(&self, gem_name: &str, version: &str) -> Result<GemSpec> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `development` is never read
[INFO] [stdout]    --> src/rubygems.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         struct GemVersionDeps {
[INFO] [stdout]     |                -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 246 |             development: Vec<DepInfo>,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/cache.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/full_index.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive`, `Deserialize`, and `Serialize`
[INFO] [stdout]   --> src/full_index.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rkyv::{Archive, Deserialize, Serialize};
[INFO] [stdout]    |            ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]   --> src/gemfile.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/git.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResolvedGitGem`
[INFO] [stdout]  --> src/lockfile.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::resolver::{Resolution, ResolvedGem, ResolvedGitGem};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/lockfile.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RANGE`
[INFO] [stdout]   --> src/rubygems.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     IF_NONE_MATCH, LAST_MODIFIED, RANGE, USER_AGENT,
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FetchResult`
[INFO] [stdout]   --> src/rubygems.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::cache::{CacheEntry, FetchResult, PersistentCache};
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/cache.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/full_index.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Archive`, `Deserialize`, and `Serialize`
[INFO] [stdout]   --> src/full_index.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rkyv::{Archive, Deserialize, Serialize};
[INFO] [stdout]    |            ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]   --> src/gemfile.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/git.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> src/installer.rs:1067:9
[INFO] [stdout]      |
[INFO] [stdout] 1067 |     use super::*;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResolvedGitGem`
[INFO] [stdout]  --> src/lockfile.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::resolver::{Resolution, ResolvedGem, ResolvedGitGem};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/lockfile.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RANGE`
[INFO] [stdout]   --> src/rubygems.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     IF_NONE_MATCH, LAST_MODIFIED, RANGE, USER_AGENT,
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FetchResult`
[INFO] [stdout]   --> src/rubygems.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::cache::{CacheEntry, FetchResult, PersistentCache};
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/full_index.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 Ok(response) => {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stderr`
[INFO] [stdout]    --> src/git.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let stderr = String::from_utf8_lossy(&output.stderr);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev_dep_re`
[INFO] [stdout]    --> src/git.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let dev_dep_re = Regex::new(r#"add_development_dependency\s*\(?['"]([^'"]+)['"]"#)?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dev_dep_re`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache_key`
[INFO] [stdout]    --> src/rubygems.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let cache_key = format!("{}:{}", gem_name, version);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/full_index.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 Ok(response) => {
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache`
[INFO] [stdout]   --> src/index.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let cache = PersistentCache::new().context("Failed to open cache")?;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gem_name`
[INFO] [stdout]    --> src/index.rs:296:24
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn parse_compact_index(gem_name: &str, text: &str) -> Result<Vec<IndexedVersion>> {
[INFO] [stdout]     |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gem_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]    --> src/installer.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let (_, platform) = parse_version_platform(&gem.version);
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stderr`
[INFO] [stdout]    --> src/git.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let stderr = String::from_utf8_lossy(&output.stderr);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev_dep_re`
[INFO] [stdout]    --> src/git.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let dev_dep_re = Regex::new(r#"add_development_dependency\s*\(?['"]([^'"]+)['"]"#)?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dev_dep_re`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache_key`
[INFO] [stdout]    --> src/rubygems.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let cache_key = format!("{}:{}", gem_name, version);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/resolver.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         let mut git_gems: Vec<ResolvedGitGem> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache`
[INFO] [stdout]   --> src/index.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let cache = PersistentCache::new().context("Failed to open cache")?;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gem_name`
[INFO] [stdout]    --> src/index.rs:296:24
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn parse_compact_index(gem_name: &str, text: &str) -> Result<Vec<IndexedVersion>> {
[INFO] [stdout]     |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gem_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]    --> src/installer.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let (_, platform) = parse_version_platform(&gem.version);
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/resolver.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         let mut git_gems: Vec<ResolvedGitGem> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `VERSIONS_KEY`, `versions_path`, `get_versions`, `get_versions_metadata`, `put_versions`, and `append_versions` are never used
[INFO] [stdout]    --> src/cache.rs:122:11
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl PersistentCache {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     const VERSIONS_KEY: &'static str = "versions";
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn versions_path(&self) -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_versions(&self) -> Option<(String, &CacheEntry)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_versions_metadata(&self) -> Option<&CacheEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn put_versions(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn append_versions(&mut self, additional_content: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `newest_entry_age_secs` is never read
[INFO] [stdout]    --> src/cache.rs:394:9
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct CacheStats {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub newest_entry_age_secs: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CacheStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FetchResult` is never used
[INFO] [stdout]    --> src/cache.rs:411:10
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub enum FetchResult {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `updated_at` is never read
[INFO] [stdout]    --> src/full_index.rs:642:9
[INFO] [stdout]     |
[INFO] [stdout] 638 | pub struct FullIndexStats {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 642 |     pub updated_at: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FullIndexStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `platforms` is never read
[INFO] [stdout]   --> src/gemfile.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GemDeclaration {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub platforms: HashSet<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GemDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gemfile.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RequireOption` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 52 -     Bool(bool),
[INFO] [stdout] 52 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Names` is never constructed
[INFO] [stdout]   --> src/gemfile.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum RequireOption {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 52 |     Bool(bool),
[INFO] [stdout] 53 |     Names(Vec<String>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RequireOption` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_github` is never used
[INFO] [stdout]   --> src/git.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl GitSource {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 22 |     /// Convert github shorthand to full URL
[INFO] [stdout] 23 |     pub fn from_github(repo: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `summary` is never read
[INFO] [stdout]    --> src/git.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct GitGemSpec {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub summary: Option<String>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitGemSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requirements` is never read
[INFO] [stdout]    --> src/git.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct GitGemDependency {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 223 |     pub name: String,
[INFO] [stdout] 224 |     pub requirements: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitGemDependency` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all_gemspecs` is never used
[INFO] [stdout]    --> src/git.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn find_all_gemspecs(repo_path: &Path) -> Result<Vec<PathBuf>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResolvedGitGem` is never constructed
[INFO] [stdout]    --> src/git.rs:408:12
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub struct ResolvedGitGem {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `change_count` and `changed_names` are never used
[INFO] [stdout]   --> src/incremental.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl ResolutionDiff {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn change_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn changed_names(&self) -> HashSet<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_incompatibility`, `is_known_incompatible`, `hit_ratio`, `prune_older_than`, and `len` are never used
[INFO] [stdout]    --> src/incremental.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 304 | impl IncompatibilityCache {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn add_incompatibility(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn is_known_incompatible(&mut self, gem: &str, version: &str, with_gem: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn hit_ratio(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     pub fn prune_older_than(&mut self, max_age_secs: u64) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_gem` and `gem_names` are never used
[INFO] [stdout]    --> src/index.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl MappedIndex {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn get_gem(&self, name: &str) -> Option<&ArchivedIndexedGem> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn gem_names(&self) -> impl Iterator<Item = &str> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_missing` is never used
[INFO] [stdout]    --> src/installer.rs:996:14
[INFO] [stdout]     |
[INFO] [stdout] 996 | pub async fn check_missing(lockfile: &Lockfile, install_path: &Path) -> Vec<(String, String)> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]     --> src/installer.rs:1028:14
[INFO] [stdout]      |
[INFO] [stdout] 1028 | pub async fn verify(lockfile: &Lockfile, install_path: &Path) -> Result<Vec<String>> {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `constraint` is never read
[INFO] [stdout]   --> src/lockfile.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct LockedDependency {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 30 |     pub name: String,
[INFO] [stdout] 31 |     pub constraint: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LockedDependency` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format` is never used
[INFO] [stdout]    --> src/lockfile.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn format(lockfile: &Lockfile) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `summary` is never used
[INFO] [stdout]   --> src/resolver.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl VersionMatchStats {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn summary(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_highly_conflicting_gems` is never used
[INFO] [stdout]    --> src/resolver.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl ConflictTracker {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn get_highly_conflicting_gems(&self) -> HashSet<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sha256` is never read
[INFO] [stdout]    --> src/resolver.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub struct ResolvedGem {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 379 |     pub sha256: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedGem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `matches_batch` and `filter_matching` are never used
[INFO] [stdout]    --> src/resolver.rs:508:12
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl VersionConstraint {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 508 |     pub fn matches_batch(&self, versions: &[semver::Version]) -> Vec<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 526 |     pub fn filter_matching<'a>(&self, versions: &'a [semver::Version]) -> Vec<&'a semver::Version> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `version_cache`, `spec_cache`, and `resolving` are never read
[INFO] [stdout]    --> src/resolver.rs:803:5
[INFO] [stdout]     |
[INFO] [stdout] 800 | struct Resolver {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 803 |     version_cache: Arc<DashMap<String, Vec<String>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 804 |     // Cache of (gem, version) -> spec
[INFO] [stdout] 805 |     spec_cache: Arc<DashMap<(String, String), GemSpec>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 806 |     // Set of gems we're currently resolving (for cycle detection)
[INFO] [stdout] 807 |     resolving: Arc<DashMap<String, ()>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_best_version`, `fetch_versions`, and `fetch_spec` are never used
[INFO] [stdout]     --> src/resolver.rs:1360:14
[INFO] [stdout]      |
[INFO] [stdout]  817 | impl Resolver {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1360 |     async fn find_best_version(&self, gem_name: &str, constraints: &[String]) -> Result<String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1395 |     async fn fetch_versions(&self, gem_name: &str) -> Result<Vec<String>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1415 |     async fn fetch_spec(&self, gem_name: &str, version: &str) -> Result<GemSpec> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_versions`, `fetch_specs_parallel`, `clear_cache`, and `prune_cache` are never used
[INFO] [stdout]    --> src/rubygems.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Client {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub async fn fetch_versions(&self, gem_name: &str) -> Result<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub async fn fetch_specs_parallel(&self, gems: &[(String, String)]) -> Result<Vec<GemSpec>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub async fn clear_cache(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     pub async fn prune_cache(&self) -> Result<usize> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `development` is never read
[INFO] [stdout]    --> src/rubygems.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         struct GemVersionDeps {
[INFO] [stdout]     |                -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 246 |             development: Vec<DepInfo>,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_versions_metadata` and `append_versions` are never used
[INFO] [stdout]    --> src/cache.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl PersistentCache {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_versions_metadata(&self) -> Option<&CacheEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn append_versions(&mut self, additional_content: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `newest_entry_age_secs` is never read
[INFO] [stdout]    --> src/cache.rs:394:9
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct CacheStats {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub newest_entry_age_secs: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CacheStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FetchResult` is never used
[INFO] [stdout]    --> src/cache.rs:411:10
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub enum FetchResult {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `updated_at` is never read
[INFO] [stdout]    --> src/full_index.rs:642:9
[INFO] [stdout]     |
[INFO] [stdout] 638 | pub struct FullIndexStats {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 642 |     pub updated_at: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FullIndexStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `platforms` is never read
[INFO] [stdout]   --> src/gemfile.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GemDeclaration {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub platforms: HashSet<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GemDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gemfile.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RequireOption` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 52 -     Bool(bool),
[INFO] [stdout] 52 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Names` is never constructed
[INFO] [stdout]   --> src/gemfile.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum RequireOption {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 52 |     Bool(bool),
[INFO] [stdout] 53 |     Names(Vec<String>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RequireOption` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `summary` is never read
[INFO] [stdout]    --> src/git.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct GitGemSpec {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub summary: Option<String>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitGemSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requirements` is never read
[INFO] [stdout]    --> src/git.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct GitGemDependency {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 223 |     pub name: String,
[INFO] [stdout] 224 |     pub requirements: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitGemDependency` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all_gemspecs` is never used
[INFO] [stdout]    --> src/git.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn find_all_gemspecs(repo_path: &Path) -> Result<Vec<PathBuf>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResolvedGitGem` is never constructed
[INFO] [stdout]    --> src/git.rs:408:12
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub struct ResolvedGitGem {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `change_count` and `changed_names` are never used
[INFO] [stdout]   --> src/incremental.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl ResolutionDiff {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn change_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn changed_names(&self) -> HashSet<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hit_ratio` and `prune_older_than` are never used
[INFO] [stdout]    --> src/incremental.rs:390:12
[INFO] [stdout]     |
[INFO] [stdout] 304 | impl IncompatibilityCache {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn hit_ratio(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     pub fn prune_older_than(&mut self, max_age_secs: u64) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_gem` and `gem_names` are never used
[INFO] [stdout]    --> src/index.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl MappedIndex {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn get_gem(&self, name: &str) -> Option<&ArchivedIndexedGem> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn gem_names(&self) -> impl Iterator<Item = &str> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_missing` is never used
[INFO] [stdout]    --> src/installer.rs:996:14
[INFO] [stdout]     |
[INFO] [stdout] 996 | pub async fn check_missing(lockfile: &Lockfile, install_path: &Path) -> Vec<(String, String)> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]     --> src/installer.rs:1028:14
[INFO] [stdout]      |
[INFO] [stdout] 1028 | pub async fn verify(lockfile: &Lockfile, install_path: &Path) -> Result<Vec<String>> {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `constraint` is never read
[INFO] [stdout]   --> src/lockfile.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct LockedDependency {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 30 |     pub name: String,
[INFO] [stdout] 31 |     pub constraint: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LockedDependency` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format` is never used
[INFO] [stdout]    --> src/lockfile.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn format(lockfile: &Lockfile) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `summary` is never used
[INFO] [stdout]   --> src/resolver.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl VersionMatchStats {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn summary(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_highly_conflicting_gems` is never used
[INFO] [stdout]    --> src/resolver.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl ConflictTracker {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn get_highly_conflicting_gems(&self) -> HashSet<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sha256` is never read
[INFO] [stdout]    --> src/resolver.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub struct ResolvedGem {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 379 |     pub sha256: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedGem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `version_cache`, `spec_cache`, and `resolving` are never read
[INFO] [stdout]    --> src/resolver.rs:803:5
[INFO] [stdout]     |
[INFO] [stdout] 800 | struct Resolver {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 803 |     version_cache: Arc<DashMap<String, Vec<String>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 804 |     // Cache of (gem, version) -> spec
[INFO] [stdout] 805 |     spec_cache: Arc<DashMap<(String, String), GemSpec>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 806 |     // Set of gems we're currently resolving (for cycle detection)
[INFO] [stdout] 807 |     resolving: Arc<DashMap<String, ()>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_best_version`, `fetch_versions`, and `fetch_spec` are never used
[INFO] [stdout]     --> src/resolver.rs:1360:14
[INFO] [stdout]      |
[INFO] [stdout]  817 | impl Resolver {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1360 |     async fn find_best_version(&self, gem_name: &str, constraints: &[String]) -> Result<String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1395 |     async fn fetch_versions(&self, gem_name: &str) -> Result<Vec<String>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1415 |     async fn fetch_spec(&self, gem_name: &str, version: &str) -> Result<GemSpec> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_specs_parallel`, `clear_cache`, and `prune_cache` are never used
[INFO] [stdout]    --> src/rubygems.rs:317:18
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Client {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub async fn fetch_specs_parallel(&self, gems: &[(String, String)]) -> Result<Vec<GemSpec>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub async fn clear_cache(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     pub async fn prune_cache(&self) -> Result<usize> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `development` is never read
[INFO] [stdout]    --> src/rubygems.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         struct GemVersionDeps {
[INFO] [stdout]     |                -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 246 |             development: Vec<DepInfo>,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.83s
[INFO] running `Command { std: "docker" "inspect" "63b9a40a843e673f2100c4cbef71c09022dd630882f73a48a5bbdb195ec60394", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "63b9a40a843e673f2100c4cbef71c09022dd630882f73a48a5bbdb195ec60394", kill_on_drop: false }`
[INFO] [stdout] 63b9a40a843e673f2100c4cbef71c09022dd630882f73a48a5bbdb195ec60394
